package com.wz.project.pda.service;

import com.wz.framework.web.domain.AjaxResult;
import com.wz.project.api.barcode.domain.Barcode;
import com.wz.project.api.barcode.domain.BarcodeInfo;
import com.wz.project.api.barcode.domain.MatnrInfo;
import com.wz.project.api.tmsMatnr.domain.TmMatnr;
import com.wz.project.inStock.stockin.domain.InStockin;
import com.wz.project.inStock.stockindetail.domain.InStockinDetail;
import com.wz.project.mydo.domain.MydoJob;
import com.wz.project.mydo.domain.MydoJobDetail;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface PdaService {

    public Barcode selectBarcode(String fbarcode);

    Barcode selectBarcodeByIdHs(String fbarcode);

    public List<MatnrInfo> selectMatnrInfo(String matnr);

    public  List<InStockinDetail> selectInstockDetail(String stockinGuid,String productId);

    public MatnrInfo selectMatnrById(String matnr);

    public MatnrInfo selectMatnrBdById(String matnr);
    public BarcodeInfo selectBarcodeInfo(String fbarcode);

    public int selectJobByTray(String trayCode,String status);

    public AjaxResult insetMydoJob(String trayCode, Integer quantity, String fbarcode);

    public int updateJobStatus(String trayCode);

    public TmMatnr selectTmMatnrByFid(String fbarcode);

    public BarcodeInfo selectBarcodeInfoByPro(String matnr,String barcodeMain,String barcodeBehind);

    public AjaxResult insertMydoJobFinish(String cargoSpaceId,String fbarcode,Integer quantity,String trayCode);

    public String completeJob(String trayCode);

    public List<Barcode> selectBarcodeInfoByMatnr(String Matnr);

    public List<Barcode> selectBarcodeBycode(String barcodeMain);

    public Barcode selectBarcodeBd(String fbarcode);
    int saveBarcode(Barcode barcode);

    List<TmMatnr>  selectTmMatnrByfbarcode(String barcodeMain, String barcodeBehind);
    List<TmMatnr>  selectTmMatnrByfbarcodea(String fbarcode);

    int selectCount(String stockInId);
    int selectCountAll(String stockInId);

    int selectCountOut(String stockin_guid);

    List<MatnrInfo> selectMatnrInfobd(String s);

    void insetMatnrInfo(MatnrInfo m);

    void deletetmMatnrs(String stockInId);

    int selectTmMatnrByFCount(String productDetailId, String stockoutGuid,String productId);


    InStockinDetail selectInstock(String stockinGuid);

    List<TmMatnr> selectTmMatnrByStockGuid(String stockInId);

    List<TmMatnr>  selectTmMatnrList(String stockinGuid, String matnr);

    void updatemMatnrs(String stockInId);

    List<MydoJobDetail> selectJobDet(String trayCode);

    void finishPK();
    void wms_data_in_del();

    void updateInstockDetail(String stockinGuid, String matnr,String stockinDetailId);

    AjaxResult addStock(String trayCode, String cargoSpaceId, String barcode);

    AjaxResult jobTpAdd(String trayCode, int quantity);
    AjaxResult jobTpOut(String exit_id, int quantity);
}
